配置GPU
在深度学习中,我们常常要对图像数据进行处理和计算,而处理器CPU因为需要处理的事情多,并不能满足我们对图像处理和计算速度的要求,显卡GPU就是来帮助CPU来解决这个问题的,GPU特别擅长处理图像数据,而CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎,安装cuda之后,可以加快GPU的运算和处理速度。
什么是显卡
显卡(Video card,Graphics card)全称显示接口卡,又称显示适配器,是计算机最基本配置、最重要的配件之一。显卡作为电脑主机里的一个重要组成部分,是电脑进行数模信号转换的设备,承担输出显示图形的任务。显卡接在电脑主板上,它将电脑的数字信号转换成模拟信号让显示器显示出来,同时显卡还是有图像处理能力,可协助CPU工作,提高整体的运行速度。对于从事专业图形设计的人来说显卡非常重要。民用和军用显卡图形芯片供应商主要包括AMD(超微半导体)和Nvidia(英伟达)2家。现在的top500计算机,都包含显卡计算核心。在科学计算中,显卡被称为显示加速卡。
显卡、显卡驱动、CUDA之间的关系
- 显卡:英文缩写为GPU,是一种硬件设备。在深度学习方面主流的显卡是NVIDIA的GPU,因为深度学习本身需要大量计算,以GPU的并行计算能力,在过去几年里恰当地满足了深度学习的需求。顺便一提,截止到本文写作时AMD的GPU基本对深度学习没有什么支持,可以不用考虑。
- 驱动:驱动可以理解为计算机和硬件沟通的手段。没有显卡驱动,就不能识别GPU硬件,不能调用其计算资源。所以,在软件层使用显卡就需要安装显卡驱动程序。
- CUDA:是显卡厂商NVIDIA推出的只能用于自家GPU的并行计算框架。只有安装这个框架才能够进行复杂的并行计算。主流的深度学习框架也都是基于CUDA进行GPU并行加速的,几乎无一例外。还有一个叫做cudnn,是针对深度卷积神经网络的加速库。
为什么GPU特别擅长处理图像数据
这里提供一个简单的理解。图像是由像素构成的,所有图像都有一些共同点:
- 像素的处理过程十分接近
- 处理单个像素所需要的逻辑非常简单
- 像素通常以矩阵的方式组成图像
并且,相较于CPU,GPU的一大特点就是:
- 内核真的多
GPU更喜欢处理大量的重复的矩阵形式的计算。这是在硬件结构层面就已经确定了的。GPU不仅可以在图像处理领域大显身手,它还被用来科学计算、密码破解、数值分析,海量数据处理(排序,Map-Reduce等),金融分析等需要大规模并行计算的领域。
查看显卡、安装显卡驱动和CUDA
作为一个开发人员,你应该有着直面麻烦的觉悟。配置GPU就是这样一个麻烦的过程。建议百度,拜拜~